<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      #result {
        width: 300px;
        height: 100px;
        border: solid 1px #90b;
      }
    </style>
  </head>
  <body>
    <button>点击发送请求</button>
    <div id="result"></div>
    <script>
      //获取button
      const btn = document.getElementsByTagName("button")[0];
      const result = document.getElementById("result");
      //绑定事件
      btn.onclick = function () {
        //1.创建对象
        const xhr = new XMLHttpRequest();
        //2.初始化 设置请求方法和url
        xhr.open("GET", "http://127.0.0.1:8000/server?a=100&b=200&c=300");
        //3.发送
        xhr.send();
        //4.事件绑定 处理服务端返回的结果
        //on 当...的时候
        //readystate 是xhr对象中的属性，表示状态 （0--未初始化 1--open方法调用完毕 2--send方法调用完毕 3--服务端返回部分结果 4--服务端返回所有结果）
        //change 改变
        xhr.onreadystatechange = function () {
          //判断
          if (xhr.readyState === 4) {
            //判断响应的状态码
            //响应状态码2开头的都是成功
            if (xhr.status >= 200 && xhr.status < 300) {
              //处理结果  行 头 空行 体
              //响应行
              console.log(xhr.status); //状态码
              console.log(xhr.statusText); //状态字符串
              console.log(xhr.getAllResponseHeaders()); //所有响应头
              console.log(xhr.response); //响应体
              //设置result的文本
              result.innerHTML = xhr.response;
            } else {
            }
          }
        };
      };
    </script>
  </body>
</html>
